soa patterns grid computing service-orientation high performance computing energy j2ee .net java grid soa systems power solar soa design patterns c++